Next | Prev | Up | Top | Contents | Index

Device Driver Overview

The following sequence of actions occurs when a device driver is used as a source of time-base interrupts for the Frame Scheduler.

  1. During its initialization in the pfxstart() or pfxinit() entry point, the driver calls a kernel function to report its pfx_frs_func_set() and pfx_frs_func_clear() functions, and to specify a unique driver identifier between 0 and 15. After this has been done, the Frame Scheduler is aware of the existence of this driver, and will allow programs to request it as the source of interrupts.

  2. Later, a real-time program creates a master Frame Scheduler and specifies this driver (by number) as the source of interrupts. The Frame Scheduler verifies that this driver has exported the two functions. Then it calls pfx_frs_func_set(intrgroup) for this particular driver. This tells the driver that time signals are needed.

  3. The device driver calls frs_handle_driverintr() each time its interrupt handling routine is entered. This informs the Frame Scheduler that an interrupt has been received.

  4. When the Frame Scheduler is being terminated, it invokes pfx_frs_func_clear() for the associated driver. This tells the driver that time signals are no longer needed, and to cease calling frs_handle_driverintr() until it is again initialized by a Frame Scheduler.
The pfx in function names is the name of the loadable device driver as specified in its master.d file. Device driver names, device driver structure, configuration files, and related topics are covered in the IRIX Device Driver Programming Guide.


Next | Prev | Up | Top | Contents | Index